home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / DELPHI32 / SEARCH / RUBICON / RBDBGRID.PAS < prev    next >
Pascal/Delphi Source File  |  1996-10-21  |  2KB  |  71 lines

  1. {*********************************************************}
  2. {*             RBDBGRID.PAS 1.20             *}
  3. {*      Copyright (c) Tamarack Associates 1996.     *}
  4. {*           All rights reserved.          *}
  5. {*********************************************************}
  6.  
  7. unit rbDBGrid;
  8.  
  9. interface
  10.  
  11. uses
  12.   {$IFDEF WIN32}
  13.   Windows,
  14.   {$ELSE}
  15.   WinTypes, WinProcs,
  16.   {$ENDIF}
  17.   SysUtils, Messages, Classes, Graphics, Controls,
  18.   Forms, Dialogs, Grids, DB, DBGrids, rbDBMemo;
  19.  
  20. type
  21.   TDBGridForm = class(TForm)
  22.     Grid: TDBGrid;
  23.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  24.     procedure GridDblClick(Sender: TObject);
  25.     procedure GridKeyDown(Sender: TObject; var Key: Word;
  26.       Shift: TShiftState);
  27.   private
  28.     { Private declarations }
  29.     PROCEDURE DisplayMemoField;
  30.   public
  31.     { Public declarations }
  32.   end;
  33.  
  34. var
  35.   DBGridForm: TDBGridForm;
  36.  
  37. implementation
  38.  
  39. {$R *.DFM}
  40.  
  41. procedure TDBGridForm.FormClose(Sender: TObject; var Action: TCloseAction);
  42. begin
  43.  Action := caFree
  44. end;
  45.  
  46. procedure TDBGridForm.GridDblClick(Sender: TObject);
  47. begin
  48.  DisplayMemoField
  49. end;
  50.  
  51. procedure TDBGridForm.DisplayMemoField;
  52. VAR      F : TDBMemoForm;
  53. BEGIN
  54.  IF Grid.SelectedField.DataType = ftMemo THEN
  55.   BEGIN
  56.    Application.CreateForm(TDBMemoForm,F);
  57.    F.Memo.DataSource := Grid.DataSource;
  58.    F.Memo.DataField  := Grid.SelectedField.FieldName;
  59.    F.Caption := F.Memo.DataField;
  60.    F.Show
  61.   END
  62. END;
  63.  
  64. procedure TDBGridForm.GridKeyDown(Sender: TObject; var Key: Word;
  65.   Shift: TShiftState);
  66. begin
  67.  IF Key IN [VK_RETURN, VK_SPACE] THEN DisplayMemoField
  68. end;
  69.  
  70. end.
  71.